/**
 * 自动生成！请勿修改！
 */
import { command } from '../core/command';

class SmartPetFeeder {
    constructor(opt = {}) {
        const { device, to, ...opts } = opt;

        this.device = device || {};
        this.opts = opts || {};
        this._to = to;
    }

    get categoryCode() {
        return '010090001';
    }

    get categoryName() {
        return '\u5ba0\u7269\u5582\u98df\u5668';
    }

    getAllRecord(params) {
        return command({
            method: 'getAllRecord',
            methodId: 'pXZuwEXx',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    getAutoFeedSwitch(params) {
        return command({
            method: 'getAutoFeedSwitch',
            methodId: 'pdNCuJVZ',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    getFeedAmount(params) {
        return command({
            method: 'getFeedAmount',
            methodId: 'p3deYoAL',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    getFeedLidSwitch(params) {
        return command({
            method: 'getFeedLidSwitch',
            methodId: 'p0crZzJ3',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    getFeedRecord(params) {
        return command({
            method: 'getFeedRecord',
            methodId: 'pBTmAIyG',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    getIndicatorLightSwitch(params) {
        return command({
            method: 'getIndicatorLightSwitch',
            methodId: 'pkpD2R5S',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    getLackFoodRemindSwitch(params) {
        return command({
            method: 'getLackFoodRemindSwitch',
            methodId: 'pj7256Qb',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    getLackFoodRemindValue(params) {
        return command({
            method: 'getLackFoodRemindValue',
            methodId: 'pNnZMQRq',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    getLackFoodStatus(params) {
        return command({
            method: 'getLackFoodStatus',
            methodId: 'pqYwsBxk',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    getManualFeedSwitch(params) {
        return command({
            method: 'getManualFeedSwitch',
            methodId: 'UnfcJpwo',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    getRemainingFood(params) {
        return command({
            method: 'getRemainingFood',
            methodId: 'pz93VWsV',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    getSwitch(params) {
        return command({
            method: 'getSwitch',
            methodId: 'phEcQNIr',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    getWorkMode(params) {
        return command({
            method: 'getWorkMode',
            methodId: 'ptRSgTkd',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    setAutoFeedMode(params) {
        return command({
            method: 'setAutoFeedMode',
            methodId: 'ppAr4CZ5',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    setAutoFeedModeOff(params) {
        return command({
            method: 'setAutoFeedModeOff',
            methodId: 'Umavv7MR',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    setAutoFeedSwitch(params) {
        return command({
            method: 'setAutoFeedSwitch',
            methodId: 'pUPQDAwm',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    setFeedAmount(params) {
        return command({
            method: 'setFeedAmount',
            methodId: 'pGox3dcw',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    setIndicatorLightSwitch(params) {
        return command({
            method: 'setIndicatorLightSwitch',
            methodId: 'p1vZLivU',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    setLackFoodRemindSwitch(params) {
        return command({
            method: 'setLackFoodRemindSwitch',
            methodId: 'pDrhrHfC',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    setLackFoodRemindValue(params) {
        return command({
            method: 'setLackFoodRemindValue',
            methodId: 'pgh0UvpA',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    setManualFeedSwitch(params) {
        return command({
            method: 'setManualFeedSwitch',
            methodId: 'pZgubr0P',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    setSwitch(params) {
        return command({
            method: 'setSwitch',
            methodId: 'peH3eUxl',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }
}

export default SmartPetFeeder;
